package org.thread.test02.way03;

import java.util.concurrent.FutureTask;

/**
 * @author ZQX
 * @date 2025-03-10
 */
public class MainTest01 {
    public static void main(String[] args) throws Exception {
        // 第二：创建实现 Callable 接口的对象
        MyCallable mc = new MyCallable();

        // 第三：创建 FutureTask 对象，并设置 Callable 对象
        FutureTask<Integer> ft = new FutureTask<>(mc);

        // 第四：创建线程对象 - Thread(Runnable task)
        Thread t = new Thread(ft) ;

        // 第五：启动线程
        t.start() ;

        // 第六：获取结果 - 注意：调用 get 方法时
        // 主线程阻塞，同步等待 task 执行完毕的结果
        Integer data = ft.get();
        System.out.println(data);

        System.out.println("主线程的一些相关操作");
    }
}
